package cn.broadsense.biz.dto;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author: pengxin
 * @create: 2024-09-12 15:30
 * @Version 1.0
 **/
@Data
public class DataItemDto implements Serializable {

    private static final long serialVersionUID = -5270029377152174197L;

    /**
     * id
     */

    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 事项编码
     */
    @ApiModelProperty(value = "事项编码")
    private String itemCode;

    /**
     * 点位id
     */
    @ApiModelProperty(value = "点位id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long channelId;

    /**
     * 点位编码
     */
    @ApiModelProperty(value = "点位编码")
    private String channelCode;

    /**
     * 采集员用户id
     */
    @ApiModelProperty(value = "采集员用户id")
    private Long collectUserId;

    /**
     * 采集员用户名称
     */
    @ApiModelProperty(value = "采集员用户名称")
    private String collectUserName;

    /**
     * 0 待完成 1待审核 2已驳回 3已完成
     */
    @ApiModelProperty(value = "0 待完成 1待审核 2已驳回 3已完成")
    private Integer status;

    /**
     * 暂存时间
     */
    @ApiModelProperty(value = "暂存时间")
    private Date holdTime;

    /**
     * 模板id
     */
    @ApiModelProperty(value = "模板id")
    private Long templateId;

    /**
     * 模板名称
     */
    @ApiModelProperty(value = "模板名称")
    private String templateName;

    /**
     * 事项描述
     */
    @ApiModelProperty(value = "事项描述")
    private String itemDesc;

    /**
     * 点位名称
     */
    @ApiModelProperty(value = "点位名称")
    private String channelName;


    @ApiModelProperty(value = "创建时间")
    private Date createTime;


    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "标签模板")
    private ItemTagTemplateDto itemTagTemplate;

    /**
     * 采集的数据 JSON
     */
    @ApiModelProperty("采集数据的JSON")
    private String collectData;

    /**
     * 暂存的采集的数据 JSON
     */
    @ApiModelProperty("暂存的采集的数据 JSON")
    private String holdCollectData;

    @ApiModelProperty("提交时间")
    private Date submitTime;

    @ApiModelProperty("审核时间")
    private Date reviewTime;

    @ApiModelProperty("审核结果")
    private String reviewResult;
}
